package com.ruoyi.app.service;

import com.ruoyi.app.domain.AppSalesOrder;
import com.ruoyi.app.domain.vo.AppSalesOrderVo;
import com.ruoyi.app.domain.bo.AppSalesOrderBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 充值订单Service接口
 *
 * @author heise
 * @date 2025-06-28
 */
public interface IAppSalesOrderService {

    /**
     * 查询充值订单
     */
    AppSalesOrderVo queryById(Long salesOrderId);
    AppSalesOrderVo queryOrderNo(String orderNo);

    /**
     * 查询充值订单列表
     */
    TableDataInfo<AppSalesOrderVo> queryPageList(AppSalesOrderBo bo, PageQuery pageQuery);

    /**
     * 查询充值订单列表
     */
    List<AppSalesOrderVo> queryList(AppSalesOrderBo bo);

    /**
     * 完成订单
     * @param salesOrderVo 订单信息
     * @param tradeNo 订单号
     * @param payType 支付方式
     */
    void downOrder(AppSalesOrderVo salesOrderVo, String tradeNo, String payType);

    /**
     * 新增充值订单
     */
    Boolean insertByBo(AppSalesOrderBo bo);

    /**
     * 修改充值订单
     */
    Boolean updateByBo(AppSalesOrderBo bo);

    /**
     * 校验并批量删除充值订单信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    AppSalesOrderBo create(AppSalesOrderBo bo);

}
